﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SchoolManagementSystem.Controls;
using CoreData;
namespace SchoolManagementSystem.Details
{
    public partial class PointColumnUC : DetailUC
    {
        public PointColumnUC()
        {
            InitializeComponent();
            this.ObjectName = "cột điểm";
            this.Code = "PointColumn";
            this.Type = new PointColumn();
        }

       
        protected override long DetailDisplay()
        {
            PointColumn data = new PointColumn();
            if (ID > 0)
            {
                data = RegisterService.RegisterServices.PointColumnService.GetByID(ID) as PointColumn;
               
            }

            txtname.Text = data.Name;
            txtnote.Text = data.Description;
            spinEdit_heso.EditValue = data.Factor;
            ckactive.Checked = data.Active;
            
            return ID;

        }

        protected override long Save()
        {
            PointColumn data = new PointColumn();
            if (ID > 0)
            {
                data = RegisterService.RegisterServices.PointColumnService.GetByID(ID) as PointColumn;

            }
            data.Code = txtname.Text;
            data.Name = txtname.Text;
            data.Description = txtnote.Text;
            data.Active = ckactive.Checked;
            data.Factor = int.Parse(spinEdit_heso.EditValue.ToString());
            ID = RegisterService.RegisterServices.PointColumnService.Save(data, ref ErrorMess);
          
            return ID;
        }


        public override bool Delete(long SelectedID)
        {
            if (SchoolManagementSystem.Controls.MessageControl.ShowMessageWithResult("Việc xóa cột điểm có thể ảnh hưởng đến việc hiển thị kết quả học tập của môn học này, bạn có đồng ý xóa ?", "Warning", MessageControl.Icon.Warning) == DialogResult.OK)
            {
                return RegisterService.RegisterServices.PointColumnService.UpdateIsDelete(RegisterService.RegisterServices.PointColumnService.GetByID(SelectedID));
            }
            return false;

        }

        private void PointColumnUC_Load(object sender, EventArgs e)
        {
            AddTextChanged(groupControl1.Controls);
        }


    }
}
